//
//  UIBarButtonItem+Extension.swift
//  swift-新浪微博0
//
//  Created by 赵玉忠 on 16/8/29.
//  Copyright © 2016年 itcast. All rights reserved.
//

import UIKit

extension UIBarButtonItem {
    
    // 在extension里面添加构造函数，应该是便利构造函数
    // 如果在参数后面添加一个等号并且添加一值，代表这个参数有默认值，外界在调用该方法的时候，可以不传入该参数的值，不传入的话，会使用默认值
    convenience init(imgName: String? = nil, title: String? = nil, target: Any?, action: Selector?) {
        // 调用其他构造函数去初始化
        self.init()
        
        // 创建一个按钮
        let button = UIButton()
        // 添加点击事件
        if let sel = action {
            button.addTarget(target, action: sel, for: UIControlEvents.touchUpInside)
        }
        
        if let img = imgName {
            // 设置一系列属性
            // 设置按钮的图标
            button.setImage(UIImage(named: img), for: UIControlState.normal)
            button.setImage(UIImage(named: "\(img)_highlighted"), for: UIControlState.highlighted)
        }
        
        if let t = title {
            button.setTitle(t, for: UIControlState.normal)
            button.titleLabel?.font = UIFont.systemFont(ofSize: 14)
            button.setTitleColor(UIColor.darkGray, for: UIControlState.normal)
            button.setTitleColor(UIColor.orange, for: UIControlState.highlighted)
        }
        
        button.sizeToFit()
        
        // 把按钮设置成当前item的customView
        self.customView = button
    }
}
